package main

import (
	"fmt"
	"time"
)

func main() {
	//8年前的今天上午9点30分
	//1.毫秒时间戳是多少？
	// 获取当前时间
	now := time.Now()
	// 计算8年前的日期
	eightyearsAgo := now.AddDate(-8, 0, 0)
	fmt.Println(eightyearsAgo)
	// 设置时间为上午9点30分
	tz, _ := time.LoadLocation("Asia/Shanghai")
	targetTime := time.Date(eightyearsAgo.Year(), eightyearsAgo.Month(), eightyearsAgo.Day(), 9, 30, 0, 0, tz)
	// 计算毫秒时间戳
	milliseconds := targetTime.UnixMilli()
	fmt.Println("毫秒时间戳:", milliseconds)

	//2.格式化输出时间为2005/09/10 21:35:40 +0800的形式
	formattedTime := targetTime.Format("2006/01/02 15:04:05 -0700")
	fmt.Println("输出格式化:", formattedTime)

	//3.请问那天是周几？到那天，本年已经过了多少周？
	// 获取那天是周几
	weekday := eightyearsAgo.Weekday()
	fmt.Println("那天是周几:", weekday)
	// 计算已过周数
	_, week := eightyearsAgo.ISOWeek()
	weekPass := week - 1 //-1表示已经过去几周
	fmt.Println("到那天，本年已经过了多少周:", weekPass)

	//4.距离今天已经过了多少天了？
	daysPassed := now.Sub(eightyearsAgo).Hours() / 24
	fmt.Println("距离今天已经过了多少天:", daysPassed)
}
